home *** CD-ROM | disk | FTP | other *** search
/ isnet Internet / Isnet Internet CD.iso / prog / chat / 12 / 12.exe / SYSTEM / ctcps.mrc < prev    next >
Encoding:
Text File  |  2000-03-04  |  12.9 KB  |  341 lines

  1. CTCP 40:HELP:? {
  2.   var %b, %z = $usrh($fulladdress)
  3.   if ($2 != $null) set %b $2
  4.   else set %b help
  5.   goto %b
  6.   :chat
  7.   if (($chkflag(%z,$null,p)) || ($chkflag(%z,$null,r))) {
  8.     putserv NOTICE $nick :/CTCP $me CHAT
  9.     putserv NOTICE $nick :   This will connect you to my partyline via DCC CHAT.
  10.   }
  11.   return
  12.   :chan
  13.   if ($chkflag(%z,$null,m)) {
  14.     putserv NOTICE $nick :/CTCP $me CHAN <password>
  15.     putserv NOTICE $nick :   This will list all of the channels I am currently in.
  16.   }
  17.   return
  18.   :op
  19.   if ($chkflag(%z,*,o)) {
  20.     putserv NOTICE $nick :/CTCP $me OP <password> [channel]
  21.     putserv NOTICE $nick :   This will tell me to op you on any channel where I have
  22.     putserv NOTICE $nick :   ops and you don't.  If you give a channel name, I'll just
  23.     putserv NOTICE $nick :   op you on that channel.
  24.   }
  25.   return
  26.   :invite
  27.   if ($chkflag(%z,*,o)) {
  28.     putserv NOTICE $nick :/CTCP $me INVITE <password> <channel>
  29.     putserv NOTICE $nick :   This will make me invite you to a channel (if I'm on
  30.     putserv NOTICE $nick :   that channel).
  31.   }
  32.   return
  33.   :info
  34.   putserv NOTICE $nick :/CTCP $me INFO <password> [channel] [an info line]
  35.   putserv NOTICE $nick :   Whatever you set as your info line will be shown when
  36.   putserv NOTICE $nick :   you join the channel, as long as you haven't been there
  37.   putserv NOTICE $nick :   in the past three minutes.  It is also shown to people
  38.   putserv NOTICE $nick :   when they ask the bot for WHO or WHOIS.  You may set an
  39.   putserv NOTICE $nick :   info line specific to a channel like so:
  40.   putserv NOTICE $nick :      /CTCP $me INFO mypass #channel This is my info.
  41.   putserv NOTICE $nick :   Or you may set the default info line (used when there
  42.   putserv NOTICE $nick :   is no channel-specific one) like so:
  43.   putserv NOTICE $nick :      /CTCP $me INFO mypass This is my default info.
  44.   putserv NOTICE $nick :/CTCP $me INFO <password> [channel] NONE
  45.   putserv NOTICE $nick :   This erases your info line.
  46.   return
  47.   :pass
  48.   putserv NOTICE $nick :/CTCP $me PASS <password>
  49.   putserv NOTICE $nick :   This sets a password, which lets you use other commands,
  50.   putserv NOTICE $nick :   like IDENT.
  51.   if ($chkflag(%z,*,o)) {
  52.     putserv NOTICE $nick :   Ops and masters: You need a password to use ANY op or
  53.     putserv NOTICE $nick :   master command.
  54.   }
  55.   putserv NOTICE $nick :/CTCP $me PASS <oldpass> <newpass>
  56.   putserv NOTICE $nick :   This is how you change your password.
  57.   return
  58.   :ident
  59.   putserv NOTICE $nick :/CTCP $me IDENT <password> [nickname]
  60.   putserv NOTICE $nick :   This lets me recognize you from a new address.  You must
  61.   putserv NOTICE $nick :   use your password (the one you set with PASS) so I know
  62.   putserv NOTICE $nick :   it's really you.  If you're using a different nickname
  63.   putserv NOTICE $nick :   than you were when you registered, you'll have to give
  64.   putserv NOTICE $nick :   your original nickname too.
  65.   return
  66.   :notes
  67.   putserv NOTICE $nick :   You must use your password for any NOTES command.
  68.   putserv NOTICE $nick :/CTCP $me NOTES <password> INDEX
  69.   putserv NOTICE $nick :   This lists all the notes stored up for you.
  70.   putserv NOTICE $nick :/CTCP $me NOTES <password> READ <# or ALL>
  71.   putserv NOTICE $nick :   This will display a certain note for you, or, if you used
  72.   putserv NOTICE $nick :   'READ ALL', it will show you every note stored for you.
  73.   putserv NOTICE $nick :   $chr(35) may be numbers and/or intervals separated by semicolon.
  74.   putserv NOTICE $nick :     ex: notes read 2-4;8;16-
  75.   putserv NOTICE $nick :/CTCP $me NOTES <password> ERASE <# or ALL>
  76.   putserv NOTICE $nick :   This works like READ, except it erases whichever note you
  77.   putserv NOTICE $nick :   tell it to (or all of them).
  78.   putserv NOTICE $nick :/CTCP $me NOTES <password> TO <nickname> <message...>
  79.   putserv NOTICE $nick :   This stores a note to someone, as long as I know him or
  80.   putserv NOTICE $nick :   her.  They will be informed of a note waiting for them
  81.   putserv NOTICE $nick :   the next time they join the channel.
  82.   return
  83.   :%b
  84.   var %a, %x, %y = INFO IDENT HELP PASS NOTES
  85.   if ($chkflag(%z,*,o)) set %y %y OP INVITE
  86.   if (($chkflag(%z,$null,m)) || (%showchans == on)) set %y %y CHAN
  87.   if (($chkflag(%z,$null,p)) || ($chkflag(%z,$null,r))) set %y %y CHAT
  88.   set %y $sorttok(%y,32)
  89.   set %a 1
  90.   while ($gettok(%y,%a,32) != $null) {
  91.     set %x : $fix(3)
  92.     while ($gettok(%y,%a,32) != $null) {
  93.       if ($calc(%a % 4) == 0) {
  94.         set %x %x $gettok(%y,%a,32)
  95.         break
  96.       }
  97.       else set %x %x $fix(10,$gettok(%y,%a,32))
  98.       inc %a
  99.     }
  100.     puthelp NOTICE $nick %x
  101.     inc %a
  102.   }
  103.   puthelp NOTICE $nick :For help on a command, /CTCP $me HELP <command>
  104.   if ($chkflag(%z,$null,m)) {
  105.     puthelp NOTICE $nick :You are a master.  Many more commands are
  106.     puthelp NOTICE $nick :available via telnet.
  107.   }
  108. }
  109. CTCP 40:OP:? {
  110.   var %z = $usrh($fulladdress)
  111.   if ($chkflag(%z,*,o) == $false) return
  112.   if ($password(%z) === $2) {
  113.     if ($3) {
  114.       if ($me !isop $3) puthelp NOTICE $nick :I'm not opped on $b($3) $+ .
  115.       elseif ($chkflag(%z,$3,o)) {
  116.         if ($nick !isop $3) putserv MODE $3 +o $nick
  117.         else puthelp NOTICE $nick :You are already opped on $b($3) $+ .
  118.       }
  119.       else puthelp NOTICE $nick :You are not authorized to get ops on $b($3) $+ .
  120.     }
  121.     else {
  122.       var %a, %y
  123.       set %a 1
  124.       while ($chan(%a)) {
  125.         set %y $ifmatch
  126.         if (($me isop %y) && ($chkflag(%z,%y,o)) && ($nick !isop %y)) putserv MODE %y +o $nick
  127.         inc %a
  128.       }
  129.     }
  130.   }
  131.   else puthelp NOTICE $nick :Invalid password.
  132. }
  133. CTCP 40:CHAN:? {
  134.   var %z = $usrh($fulladdress)
  135.   if ((%showchans == on) || ($chkflag(%z,$null,m))) {
  136.     if ($password(%z) === $2) {
  137.       var %a, %y, %z
  138.       set %a 1
  139.       while ($chan(%a)) {
  140.         set %y $ifmatch
  141.         if (%y == %idlechan) continue
  142.         set %z $addtok(%z,%y,32)
  143.         inc %a
  144.       }
  145.       puthelp NOTICE $nick :I'm on channels: %z
  146.     }
  147.     else puthelp NOTICE $nick :Invalid password.
  148.   }
  149.   else puthelp NOTICE $nick :Access denied.
  150. }
  151. CTCP 40:INVITE:? {
  152.   var %z = $usrh($fulladdress)
  153.   if ($chkflag(%z,*,o) == $false) return
  154.   if ($2 == $null) puthelp NOTICE $nick :/CTCP $me INVITE <password> <channel>
  155.   if ($nick ison $2) puthelp NOTICE $nick :You are already on $b($2) $+ .
  156.   elseif ($me ison $2) {
  157.     if ($chkflag(%z,$2,o)) == $false) puthelp NOTICE $nick :Access denied.
  158.     elseif (($me !isop $2) && (i isin $gettok($chan($2).mode,1,32)) puthelp NOTICE $nick :I'm not opped in $b($2) $+ .
  159.     else putserv INVITE $nick $2
  160.   }
  161.   else puthelp NOTICE $nick :I'm not on $b($2) $+ .
  162. }
  163. CTCP 40:UNBAN:? {
  164.   var %z = $usrh($fulladdress)
  165.   if ($chkflag(%z,*,o) == $false) return
  166.   if ($2 == $null) puthelp NOTICE $nick :/CTCP $me UNBAN <password> <channel>
  167.   if ($me isop $2) {
  168.     if ($chkflag(%z,$2,o)) == $false) puthelp NOTICE $nick :Access denied.
  169.     else {
  170.       set %unban on
  171.       set %ubadd $fulladdress
  172.       set %ubnick $nick
  173.       mode $2 b
  174.     }
  175.   }
  176.   else puthelp NOTICE $nick :I'm not on $b($2) $+ .
  177. }
  178. CTCP 40:INFO:? {
  179.   var %z = $usrh($fulladdress)
  180.   if ($password(%z) === $2) {
  181.     if ($istok($usrchans(%z),$3,44)) {
  182.       if ($left($infoline(%z,$3),1) == @) {
  183.         puthelp NOTICE $nick :Your info line on $3 is locked.
  184.         return
  185.       }
  186.       elseif ($4- == none) puthelp NOTICE $nick :Removed your info line on $3 $+ .
  187.       else puthelp NOTICE $nick :Your info line on $3 is now: $strip($4-)
  188.     }
  189.     elseif ($left($infoline(%z),1) == @) {
  190.       puthelp NOTICE $nick :Your info line is locked.
  191.       return
  192.     }
  193.     elseif ($3- == none) puthelp NOTICE $nick :Removed your info line.
  194.     else puthelp NOTICE $nick :Your info line is now: $strip($3-)
  195.     chinfo %z $3-
  196.   }
  197.   else putserv NOTICE $nick :Invalid password.
  198. }
  199. CTCP 40:PASS:? {
  200.   var %z = $usrh($fulladdress)
  201.   if ($3) {
  202.     if ($len($3) < 4) puthelp NOTICE $nick :Please use at least 4 characters.
  203.     elseif ($password(%z) === $2) {
  204.       chpass %z $3
  205.       puthelp NOTICE $nick :Password changed to ' $+ $3 $+ '
  206.     }
  207.     else qnotice $nick Incorrect password.
  208.   }
  209.   elseif ($2) {
  210.     if ($password(%z)) puthelp NOTICE $nick :You already have a password set.
  211.     elseif ($len($2) < 4) puthelp NOTICE $nick :Please use at least 4 characters.
  212.     else {
  213.       chpass %z $2
  214.       puthelp NOTICE $nick :Password set to ' $+ $2 $+ '
  215.     }
  216.   }
  217.   else puthelp NOTICE $nick :You $iif($password(%z) == $null,don't) have a password set.
  218. }
  219. CTCP 40:CHAT:? {
  220.   var %z = $usrh($fulladdress)
  221.   if (($chkflag(%z,$null,p)) || ($chkflag(%z,$null,r))) {
  222.     if ($sock(telnet)) putserv PRIVMSG $nick :DCC CHAT chat $longip($ip) %telnetport $+ 
  223.     else puthelp NOTICE $nick :Telnet daemon currently disabled.
  224.   }
  225.   else puthelp NOTICE $nick :Access denied.
  226. }
  227. CTCP +1:IDENT:? {
  228.   var %z = $mask($fulladdress,3)
  229.   if ($2 == $null) qnotice $nick Syntax: /CTCP $me IDENT <password> [nick]
  230.   elseif ((($3 != $null) && ($2 === $password($3))) || (($3 == $null) && ($password($nick) === $2))) {
  231.     addhost $iif($3,$3,$nick) %z
  232.     puthelp NOTICE $nick :Added hostmask: %z
  233.   }
  234.   else puthelp NOTICE $nick :Access denied.
  235. }
  236. CTCP 1:DCC CHAT:? {
  237.   if ($chkflag($usrh($fulladdress),$null,c)) {
  238.     .timer 1 0 .creq $creq
  239.     .creq auto
  240.   }
  241.   tsound dccchat
  242.   if ($form(dcc,chat)) iecho $readini %formats dcc chat
  243.   else iecho $hc(CHAT) request by $u($hc($nick)) $rbrk($address) $ab($sc($addtok($longip($4),$5,58)))
  244. }
  245. CTCP 1:DCC SEND:? {
  246.   var %z = $sreq
  247.   if ($count($1-,") == 2) tokenize 127 $replace($1-2,$chr(32),) $+  $+ $gettok($1-,2,34) $+  $+ $replace($gettok($1-,3,34),$chr(32),)
  248.   if ($chkflag($usrh($fulladdress),$null,s)) {
  249.     .timer 1 0 .sreq %z
  250.     .sreq auto
  251.   }
  252.   elseif ($findtok(%xdccnicks,$nick,1,44)) {
  253.     set %xdccnicks $deltok(%dccnicks,$ifmatch,44)
  254.     .timer 1 0 .sreq %z
  255.     .sreq auto
  256.   }
  257.   elseif ((%dccrelay == on) && (%dccnick)) {
  258.     qctcp %dccnick $1-
  259.     .timer 1 0 .sreq %z
  260.     .sreq ignore
  261.     if ($form(dcc,sendfwd)) iecho $readini %formats dcc sendfwd
  262.     else iecho Forwarding $hc(SEND) request from $u($hc($nick)) $rbrk($address) $ab($sc($addtok($longip($4),$5,58))) of $hc($3) $rbrk($alof($6)) to $hc(%dccnick) $+ .
  263.     halt
  264.   }
  265.   if ($form(dcc,send)) iecho $readini %formats dcc send
  266.   else iecho $hc(SEND) request from $u($hc($nick)) $rbrk($address) $ab($sc($addtok($longip($4),$5,58))) of $hc($3) $rbrk($alof($6)) $+ .
  267.   if (($dialog(ircN.dccstatus) == $null) && (%dccstatus == on)) dccstatus on
  268.   tsound dccsend
  269. }
  270. CTCP 1:PAGE:? {
  271.   if (%pager == on) {
  272.     if ($2) write $td(page.txt) $nick $address $adate $atime $2-
  273.     else write $td(page.txt) $nick $address $adate $atime (no message)
  274.     if ($away) qnotice $nick Your page has been received, away for $gone ( $+ $b(%awaymsg) $+ ) $e-mail($email)
  275.     else qnotice $nick Your page has been received.
  276.     tb
  277.     if ((%theme.page == on) && (%theme == on)) tsound page
  278.     elseif ($exists(%sound)) .splay %sound
  279.     if (($chr(124) isin $2-) || ($chr(36) isin $2-)) iecho Possible PAGER exploit detected from $hc($nick) $rbrk($address) $+ : $ac($2-)
  280.   }
  281. }
  282. CTCP 1:ADDON:* {
  283.   if ($nick != $me) {
  284.     set %lastnick $nick
  285.     set %ctcprec [ $+ $nick $+ ( $+ $address $+ ) $+ $chan $+ ] $1-
  286.   }
  287.   if ($iscloaked($fulladdress,$1)) return
  288.   if (%aver) .ctcpreply $nick ADDON %ver for mIRC - [ $avconv(%aver) ] -
  289. }
  290. CTCP 1:PING:* {
  291.   if ($nick != $me) {
  292.     set %lastnick $nick
  293.     set %ctcprec [ $+ $nick $+ ( $+ $address $+ ) $+ $chan $+ ] $1
  294.   }
  295.   if ($iscloaked($fulladdress,$1)) return
  296.   .ctcpreply $nick PING $2-
  297. }
  298. ctcp 1:SOUND:* {
  299.   if ($nick != $me) {
  300.     set %lastnick $nick
  301.     set %ctcprec [ $+ $nick $+ ( $+ $address $+ ) $+ $chan $+ ] $1-
  302.   }
  303.   var %z = $mkfn($2)
  304.   if (%playsnds == on) {
  305.     if (($findfile($wavdir,%z,1)) || ($findfile($middir,%z,1))) .splay %z
  306.     else iecho Unable to play $brkt(%z)
  307.   }
  308. }
  309. CTCP 1:VERSION:* {
  310.   if ($nick != $me) {
  311.     set %lastnick $nick
  312.     set %ctcprec [ $+ $nick $+ ( $+ $address $+ ) $+ $chan $+ ] $1-
  313.   }
  314.   if ($iscloaked($fulladdress,$1)) return
  315.   .ctcpreply $nick VERSION %ver - $read -n $td(quotes.txt) -
  316. }
  317. CTCP 1:FINGER:* {
  318.   if ($nick != $me) {
  319.     set %lastnick $nick
  320.     set %ctcprec [ $+ $nick $+ ( $+ $address $+ ) $+ $chan $+ ] $1-
  321.   }
  322.   if ($iscloaked($fulladdress,$1)) return
  323.   var %z = $readini -n mirc.ini text finger
  324.   .ctcpreply $nick FINGER $readini -n mirc.ini mirc user ( $+ $readini -n mirc.ini mirc email $+ ) Idle $idle seconds $paren(%z)
  325. }
  326. CTCP 1:TIME:* {
  327.   if ($nick != $me) {
  328.     set %lastnick $nick
  329.     set %ctcprec [ $+ $nick $+ ( $+ $address $+ ) $+ $chan $+ ] $1-
  330.   }
  331.   if ($iscloaked($fulladdress,$1)) return
  332.   .ctcpreply $nick TIME $fulldate
  333. }
  334. CTCP 1:*:* {
  335.   if ($1 == DCC) return
  336.   if ($nick != $me) {
  337.     set %lastnick $nick
  338.     set %ctcprec [ $+ $nick $+ ( $+ $address $+ ) $+ $chan $+ ] $1-
  339.   }
  340. }
  341.